package com.coc.myquartz.quartz;

import org.quartz.*;

/**
 * 实现集群时 业务类 只能实现Quartz 提供Job相关接口，不能含有实现的自定义接口。
 * Job接口： 分为 有状态的接口 （StatefulJob） 和 无状态的接口 （Job）,
 * 有状态是指同一个任务在任何节点执行时，必须等上次任务执行完毕才能执行。
 * 无状态是指同一个JOb执行时，
 * 即使没有还没执行完毕，任务到达执行时间被另一个节点启动仍能继续执行。
 */
public interface JobManage extends StatefulJob /*Job*/, InterruptableJob {

    /**
     * 停止单个任务
     */
    @Override
    void interrupt() throws UnableToInterruptJobException;

    /**
     * job中的必须执行的方法
     */
    @Override
    void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException;

    /**
     * 开始单个任务
     */
    void startjob();


}
